﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml;
using System.Xml.Serialization;

namespace BrowserGameFramework.Messaging.Interfaces
{
    [Serializable]
    [XmlRoot("Message")]
    public abstract class BaseMessageHeader
    {
        /// <summary>
        /// Gets or sets the id.
        /// </summary>
        /// <value>The id.</value>
        [XmlElement("MessageId")]
        public int Id { get; set; }

        /// <summary>
        /// Inboxtype for Message
        /// </summary>
        [XmlElement("InboxType")]
        public int InboxType { get; set; }

        /// <summary>
        /// Gets or sets the autor.
        /// </summary>
        /// <value>The autor.</value>
        [XmlElement("Sender")]
        public int Autor { get; set; }

        /// <summary>
        /// Gets or sets the recipient.
        /// </summary>
        /// <value>The recipient.</value>
        [XmlElement("Recipient")]
        public int Recipient { get; set; }

        /// <summary>
        /// Gets or sets the header.
        /// </summary>
        /// <value>The header.</value>
        [XmlElement("Header")]
        public string HeaderText { get; set; }

        /// <summary>
        /// Gets or sets the send time.
        /// </summary>
        /// <value>The send time.</value>
        [XmlElement("SendTime")]
        public DateTime SendTime { get; set; }

        /// <summary>
        /// Gets or sets the priority of the Message
        /// </summary>
        /// <value>The priority.</value>
        [XmlElement("Priority")]
        public int Priority { get; set; }

        /// <summary>
        /// Gets or sets the reciver read message date.
        /// </summary>
        /// <value>The reciver read message date.</value>
        [XmlElement("RecReadMsgDate")]
        public DateTime RecReadMsgDate { get; set; }
    }
}
